{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UvTPRErEO2cl"
      },
      "source": [
        "##### Copyright 2025 Google LLC."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "cellView": "form",
        "id": "LCJL7_hQO3jW"
      },
      "outputs": [],
      "source": [
        "# @title Licensed under the Apache License, Version 2.0 (the \"License\");\n",
        "# you may not use this file except in compliance with the License.\n",
        "# You may obtain a copy of the License at\n",
        "#\n",
        "# https://www.apache.org/licenses/LICENSE-2.0\n",
        "#\n",
        "# Unless required by applicable law or agreed to in writing, software\n",
        "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
        "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
        "# See the License for the specific language governing permissions and\n",
        "# limitations under the License."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2Xjw-LFKoD1-"
      },
      "source": [
        "# Gemini API: Analyze a Video - Summarization\n",
        "\n",
        "This notebook shows how you can use Gemini API's multimodal capabilities for video summarization."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dJY5C59gPf-m"
      },
      "source": [
        "<a target=\"_blank\" href=\"https://colab.research.google.com/github/google-gemini/cookbook/blob/main/examples/Analyze_a_Video_Summarization.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" height=30/></a>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "id": "NwP4PBGWoQiJ"
      },
      "outputs": [],
      "source": [
        "%pip install -U -q \"google-genai>=1.0.0\""
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "KsMCUn_nRRtV"
      },
      "source": [
        "## Configure your API key\n",
        "\n",
        "To run the following cell, your API key must be stored in a Colab Secret named `GOOGLE_API_KEY`. If you don't already have an API key, or you're not sure how to create a Colab Secret, see [Authentication](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Authentication.ipynb) for an example."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "yGjQlQ9hoSOk"
      },
      "outputs": [],
      "source": [
        "from google.colab import userdata\n",
        "from google import genai\n",
        "\n",
        "API_KEY = userdata.get('GOOGLE_API_KEY')\n",
        "client = genai.Client(api_key=API_KEY)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9y6o91Xb7RZb"
      },
      "source": [
        "## Example\n",
        "This notebook will use [Wing It!](https://studio.blender.org/films/wing-it/) movie directed by Rik Schutte, wills falls under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/deed.en).\n",
        "\n",
        "See the full [credits](https://studio.blender.org/films/wing-it/pages/credits/) for all of the other people involved in its creation."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "M794IEOG7QzI"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "--2025-03-04 13:58:23--  https://upload.wikimedia.org/wikipedia/commons/3/38/WING_IT%21_-_Blender_Open_Movie-full_movie.webm\n",
            "Resolving upload.wikimedia.org (upload.wikimedia.org)... 198.35.26.112, 2620:0:863:ed1a::2:b\n",
            "Connecting to upload.wikimedia.org (upload.wikimedia.org)|198.35.26.112|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 36196718 (35M) [video/webm]\n",
            "Saving to: ‘wingit.webm’\n",
            "\n",
            "wingit.webm         100%[===================>]  34.52M  27.4MB/s    in 1.3s    \n",
            "\n",
            "2025-03-04 13:58:25 (27.4 MB/s) - ‘wingit.webm’ saved [36196718/36196718]\n",
            "\n"
          ]
        }
      ],
      "source": [
        "# Download video\n",
        "path = \"wingit.webm\"\n",
        "url = \"https://upload.wikimedia.org/wikipedia/commons/3/38/WING_IT%21_-_Blender_Open_Movie-full_movie.webm\"\n",
        "!wget $url -O $path"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "id": "efnp0oAq7kYx"
      },
      "outputs": [],
      "source": [
        "# Upload video\n",
        "video_file = client.files.upload(file=path)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "id": "ij9-oG3g7yyj"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "...."
          ]
        }
      ],
      "source": [
        "import time\n",
        "# Wait until the uploaded video is available\n",
        "while video_file.state.name == \"PROCESSING\":\n",
        "  print('.', end='')\n",
        "  time.sleep(5)\n",
        "  video_file = client.files.get(name=video_file.name)\n",
        "\n",
        "if video_file.state.name == \"FAILED\":\n",
        "  raise ValueError(video_file.state.name)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "id": "Ywyf9XkwuhCP"
      },
      "outputs": [
        {
          "data": {
            "image/jpeg": "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",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "# this is only needed for demonstration purposes\n",
        "import cv2\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Display some of the video content\n",
        "cap = cv2.VideoCapture(path)\n",
        "frame_number = 1000\n",
        "for _ in range(frame_number):\n",
        "    ret, frame = cap.read()\n",
        "frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n",
        "\n",
        "plt.imshow(frame_rgb)\n",
        "plt.axis('off')\n",
        "plt.show()\n",
        "\n",
        "cap.release()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "LYWcwCz1VPnl"
      },
      "source": [
        "The video is now ready to be summarized by the model."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "id": "Zhnsiy9O8OXG"
      },
      "outputs": [],
      "source": [
        "system_prompt = \"You should provide a quick 2 or 3 sentence summary of what is happening in the video.\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "id": "PWLK7TEi7_mP"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Okay, here is a quick summary of what's happening in the video:\n",
            "\n",
            "A cat and a dog are building a spaceship out of various objects lying around in a barn. They launch into space, but the ship starts falling apart almost immediately. They barely make it through the atmosphere before crash landing back into their barn.\n"
          ]
        }
      ],
      "source": [
        "from google.genai import types\n",
        "\n",
        "MODEL_ID=\"gemini-2.5-flash\" # @param [\"gemini-2.5-flash-lite\", \"gemini-2.5-flash\", \"gemini-2.5-pro\",\"gemini-3-pro-preview\"] {\"allow-input\":true, isTemplate: true}\n",
        "response = client.models.generate_content(\n",
        "    model=f\"models/{MODEL_ID}\",\n",
        "    contents=[\n",
        "        \"Summarise this video please.\",\n",
        "        video_file\n",
        "        ],\n",
        "    config=types.GenerateContentConfig(\n",
        "        system_instruction=system_prompt,\n",
        "        ),\n",
        "    )\n",
        "print(response.text)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "3rwcPF-7VUbi"
      },
      "source": [
        "The model correctly describes the plot of the short movie.\n",
        "\n",
        "Now, you can delete the no longer necessary uploaded file."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "id": "SomiSVmu8Czk"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "DeleteFileResponse()"
            ]
          },
          "execution_count": 12,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "# delete video\n",
        "client.files.delete(name=video_file.name)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Qq2l6jgbo97t"
      },
      "source": [
        "### Important Note\n",
        "\n",
        "Gemini API takes only one frame per second of the video. It may cause models not to see everything that is happening, especially if something is visible only for a fraction of a second."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "aBM_LtQLLJA9"
      },
      "source": [
        "## Summary\n",
        "\n",
        "Now you know how you can use Gemini models to summarize what is happening in videos.\n",
        "\n",
        "This notebook shows only one of many use cases. Check the [Video understanding](../quickstarts/Video_understanding.ipynb) notebook for more examples of using the Gemini API with videos."
      ]
    }
  ],
  "metadata": {
    "colab": {
      "name": "Analyze_a_Video_Summarization.ipynb",
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
